// Shows how to obtain a new application certificate from the certificate manager (GDS), and store it for subsequent usage,
// with progress reporting.
using System;
using OpcLabs.BaseLib.Security.Cryptography.PkiCertificates;
using OpcLabs.EasyOpc.UA;
using OpcLabs.EasyOpc.UA.Application;
using OpcLabs.EasyOpc.UA.Application.Extensions;
using OpcLabs.EasyOpc.UA.Extensions;
using OpcLabs.EasyOpc.UA.OperationModel;
namespace UADocExamples.Application._IEasyUAClientServerApplication
{
partial class ObtainNewCertificate
{
public static void Progress()
{
// Define which GDS we will work with.
UAEndpointDescriptor gdsEndpointDescriptor =
((UAEndpointDescriptor)"opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer")
.WithUserNameIdentity("appadmin", "demo");
// Obtain the application interface.
EasyUAApplication application = EasyUAApplication.Instance;
// Display which application we are about to work with.
Console.WriteLine("Application URI string: {0}",
application.GetApplicationElement().ApplicationUriString);
// Obtain a new application certificate from the certificate manager (GDS), and store it for subsequent usage.
IPkiCertificate certificate;
try
{
certificate = application.ObtainNewCertificate(gdsEndpointDescriptor,
new Progress<string>(s => Console.WriteLine("Progress: {0}", s)));
}
catch (UAException uaException)
{
Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message);
return;
}
// Display results
Console.WriteLine("Certificate: {0}", certificate);
}
}
}
# Shows how to obtain a new application certificate from the certificate manager (GDS), and store it for subsequent
# usage, with progress reporting.
# The QuickOPC package is needed. Install it using "pip install opclabs_quickopc".
import opclabs_quickopc
# Import .NET namespaces.
from System import *
from OpcLabs.EasyOpc.UA import *
from OpcLabs.EasyOpc.UA.Application import *
from OpcLabs.EasyOpc.UA.Application.Extensions import *
from OpcLabs.EasyOpc.UA.Extensions import *
from OpcLabs.EasyOpc.UA.OperationModel import *
# Define which GDS we will work with.
gdsEndpointDescriptor = UAEndpointDescriptor('opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer')
gdsEndpointDescriptor = UAEndpointDescriptorExtension.WithUserNameIdentity(gdsEndpointDescriptor,
'appadmin', 'demo')
# Obtain the application interface.
application = EasyUAApplication.Instance
# Display which application we are about to work with.
applicationElement = IEasyUAClientServerApplicationExtension.GetApplicationElement(application)
print('Application URI string: ', applicationElement.ApplicationUriString, sep='')
# Obtain a new application certificate from the certificate manager (GDS), and store it for subsequent usage.
try:
print('Obtaining new certificate...')
certificate = IEasyUAClientServerApplicationExtension.ObtainNewCertificate(application,
gdsEndpointDescriptor,
Progress[String](Action[String](lambda s: print('Progress: ', s, sep=''))))
except UAException as uaException:
print('*** Failure: ' + uaException.GetBaseException().Message)
exit()
# Display results.
print()
print('Certificate: ', certificate, sep='')
print()
print('Finished.')
' Shows how to obtain a new application certificate from the certificate manager (GDS), and store it for subsequent usage,
' with progress reporting.
Imports Microsoft.Extensions.DependencyInjection
Imports OpcLabs.BaseLib.Security.Cryptography.PkiCertificates
Imports OpcLabs.EasyOpc.UA
Imports OpcLabs.EasyOpc.UA.Application
Imports OpcLabs.EasyOpc.UA.Application.ComTypes
Imports OpcLabs.EasyOpc.UA.Application.Extensions
Imports OpcLabs.EasyOpc.UA.Extensions
Imports OpcLabs.EasyOpc.UA.OperationModel
Namespace Application._IEasyUAClientServerApplication
Partial Friend Class ObtainNewCertificate
Public Shared Sub Progress()
' Define which GDS we will work with.
Dim gdsEndpointDescriptor As UAEndpointDescriptor =
New UAEndpointDescriptor("opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer") _
.WithUserNameIdentity("appadmin", "demo")
' Obtain the application interface.
Dim application As EasyUAApplication = EasyUAApplication.Instance
' Display which application we are about to work with.
Console.WriteLine("Application URI string: {0}",
application.GetApplicationElement().ApplicationUriString)
' Obtain a new application certificate from the certificate manager (GDS), and store it for subsequent usage.
Dim certificate As PkiCertificate
Try
certificate = application.ObtainNewCertificate(gdsEndpointDescriptor,
New Progress(Of String)(Sub(s) Console.WriteLine("Progress: {0}", s)))
Catch uaException As UAException
Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message)
Exit Sub
End Try
' Display results
Console.WriteLine("Certificate: {0}", certificate)
End Sub
End Class
End Namespace